﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;

namespace XNAGameEngine.Input
{
    public interface IMouseEventListener
    {
        /// <summary>
        /// the bounding box to use for mouse event detection
        /// </summary>
        Rectangle BoundingBox { get; }

        /// <summary>
        /// called whenever the mouse enters the bounding box
        /// </summary>
        void OnMouseEnter();

        /// <summary>
        /// called whenever the mouse leaves the bounding box
        /// </summary>
        void OnMouseExit();

        /// <summary>
        /// called whenever a mouse Button is clicked while inside the bounding box
        /// </summary>
        /// <param name="input">the mouse Button clicked</param>
        void OnMouseClick(MouseClick input);
    }
}
